/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.jsf;

import br.data.model.Usuario;
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author Thiago Belotto
 */
@ManagedBean
@SessionScoped
public class RFacesUsuario {

    /** Creates a new instance of RFacesUsuario */
    public RFacesUsuario() {
    }
    private int id;
    private int ra;
    private int seap;
    private String nome;
    private String telefone;
    private String email;
    private String sexo;
    private Date data_nas;
    private String senha;
    private int id_tipo_usuario;

    public Date getData_nas() {
        return data_nas;
    }

    public void setData_nas(Date data_nas) {
        this.data_nas = data_nas;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getId_tipo_usuario() {
        return id_tipo_usuario;
    }

    public void setId_tipo_usuario(int id_tipo_usuario) {
        this.id_tipo_usuario = id_tipo_usuario;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getRa() {
        return ra;
    }

    public void setRa(int ra) {
        this.ra = ra;
    }

    public int getSeap() {
        return seap;
    }

    public void setSeap(int seap) {
        this.seap = seap;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String salvar_novo() {

        new br.data.crud.CrudUsuario().persist(nome, ra, seap, sexo, telefone, email, data_nas, senha, id_tipo_usuario);
        return "#";
    }

    public String alterar() {

        new br.data.crud.CrudUsuario().update(id, nome, ra, seap, sexo, telefone, email, data_nas, senha, id_tipo_usuario);
        return "menu.xhtml";
    }

    public String alterar_link() {

        java.util.Map<String, String> params =
                javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().
                getRequestParameterMap();

        java.util.Date data;
        data = new Date(params.get("data_nas"));

        this.id = Integer.parseInt(params.get("id"));
        this.nome = params.get("nome");
        this.ra = Integer.parseInt(params.get("ra"));
        this.seap = Integer.parseInt(params.get("seap"));
        this.telefone = params.get("telefone");
        this.data_nas = data;
        this.sexo = params.get("sexo");
        this.id_tipo_usuario = Integer.parseInt(params.get("id_tipo_usuario"));
        this.email = params.get("email");
        this.senha = params.get("senha");


        return "#";
    }

    public String remover() {
        java.util.Map<String, String> params =
                javax.faces.context.FacesContext.getCurrentInstance().getExternalContext().
                getRequestParameterMap();

        this.id = Integer.parseInt(params.get("codigo"));
        new br.data.crud.CrudUsuario().remove(this.id);

        return "#";
    }

    public java.util.Collection<br.data.model.Usuario> getAll() {
        return new br.data.crud.CrudUsuario().getall();
    }

    public String loggin() {
        Usuario usu = (Usuario) new br.data.crud.CrudUsuario().log(email, senha);
        if (new br.data.crud.CrudUsuario().log(email, senha) != null) {
            this.id = usu.getId();
            this.nome = usu.getNome();
            return "menu.xhtml";
        } else {
            return "index.xhtml";
        }
    }
}
